Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Boolean</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Boolean"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Boolean rootpage-Boolean skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Boolean</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p>Ein <b>Boolean</b> [<style data-mw-deduplicate="TemplateStyles:r227981795">
/* start https://de.wikipedia.org/ */


.mw-parser-output .IPA a{text-decoration:none}


/* end https://de.wikipedia.org/ */
</style><span class="navigation-not-searchable"><span class="IPA"><a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ˈbuːliən</span></a></span></span>], benannt nach <a href="George_Boole" title="George Boole">George Boole</a>, ist ein Element einer <a href="Boolesche_Algebra" title="Boolesche Algebra">booleschen Algebra</a>.<sup id="cite_ref-Mathes22_1-0" class="reference"><a href="#cite_note-Mathes22-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Eine Sonderform mit nur zwei Zuständen ist in der <a href="Digitaltechnik" title="Digitaltechnik">Digitaltechnik</a> die <b>Schaltvariable</b> (<span style="font-style:normal;font-weight:normal"><a href="Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic">switching variable</span>) bzw. bei der <a href="Programmierung" title="Programmierung">Programmierung</a> der boolesche <a href="Datentyp" title="Datentyp">Datentyp</a> zur Darstellung der logischen <a href="Wahrheitswert" title="Wahrheitswert">Wahrheitswerte</a> <i>wahr</i> und <i>falsch</i>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Grundlagen:_boolesche_Mathematik_und_Schaltalgebra">Grundlagen: boolesche Mathematik und Schaltalgebra</h2></div>
<p>Eine <i>boolesche Variable</i> im Allgemeinen ist eine <a href="Variable_(Logik)" title="Variable (Logik)">Variable</a>, die nur endlich viele Werte oder Zustände annehmen kann: Mit seinem Werk <i>The Mathematical Analysis of Logic</i> von 1847 legte George Boole einen Grundstein für die <a href="Formale_Logik" title="Formale Logik">formale Logik</a> und die Rechentechnik. Die Menge dieser Werte bildet einen <a href="Zeichenvorrat" class="mw-redirect" title="Zeichenvorrat">Zeichenvorrat</a>.
</p><p>Sonderform der booleschen Algebra ist die <a href="Schaltalgebra" title="Schaltalgebra">Schaltalgebra</a>, die <i>Schaltvariable</i> kann nur einen von wenigen Werten annehmen:
</p>
<ul><li>Hier sind es meist zweiwertige (binäre) boolesche Variablen – in der Fachsprache versteht man unter <i>boolescher Variable</i> im Allgemeinen eine Schaltvariable im engeren Sinne. Dieses <a href="Dichotomie" title="Dichotomie">dichotome</a> Wertepaar wird je nach Anwendung u.&nbsp;a. als <code>wahr/falsch</code> bzw. <code>true/false</code> (<a href="Aussagenvariable" class="mw-redirect" title="Aussagenvariable">Aussagenvariable</a>), oder <code>1/0</code> (<a href="Bin%C3%A4rzahl" class="mw-redirect" title="Binärzahl">Binärzahl</a>) bezeichnet. In der <a href="Elektronische_Datenverarbeitung" title="Elektronische Datenverarbeitung">elektronischen Datenverarbeitung</a> werden die beiden Werte mit <a href="Elektrische_Spannung" title="Elektrische Spannung">Spannungs-</a> oder <a href="Elektrischer_Strom" title="Elektrischer Strom">Strompegeln</a> dargestellt: <code>HIGH, H</code> oder <code>1</code> bzw. <code>LOW, L</code> oder <code>0</code> (Null) – als Schaltung entspricht das <code>Ein/Aus</code>, oder aber <code>–1/1</code>, was einem <a href="Flipflop" title="Flipflop">Flipflop</a> entspricht.</li>
<li>Daneben gibt es in der Anwendung häufig auch dreiwertige Schaltvariablen in der Form <code>–1/0/1</code> (mathematisch eine <a href="Vorzeichen_(Zahl)" title="Vorzeichen (Zahl)">vorzeichenbehaftete</a> einstellige Binärzahl oder ein <a href="Tern%C3%A4rsystem" title="Ternärsystem">ternäres Zahlensystem</a> <code>0/1/2</code>), also <code>HIGH/NULL/LOW</code>, etwa in der <a href="Steuerungstechnik" title="Steuerungstechnik">Steuerungs-</a> und <a href="Regelungstechnik" title="Regelungstechnik">Regelungstechnik</a> (<code>VORWÄRTS/STOPP/RÜCKWÄRTS</code>). Boolesche- bzw. Schaltalgebra ist aber prinzipiell über beliebigem Zeichenvorrat (Wertebereich) möglich.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Digitaltechnik">Digitaltechnik</h2></div>
<p>In der Digitaltechnik werden boolesche Werte durch unterschiedliche elektrische Spannungsbereiche (sog. <a href="Logikpegel" title="Logikpegel">Logikpegel</a>) realisiert. Die konkreten Spannungsgrenzen hängen von der verwendeten Technik ab (z.&nbsp;B. <a href="Transistor-Transistor-Logik" title="Transistor-Transistor-Logik">Transistor-Transistor-Logik</a> oder <a href="Complementary_metal-oxide-semiconductor" title="Complementary metal-oxide-semiconductor">CMOS</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Programmierung">Programmierung</h2></div>
<p>Im Bereich der <a href="Softwareentwicklung" class="mw-redirect" title="Softwareentwicklung">Softwareentwicklung</a> versteht man unter einem booleschen Ausdruck einen <a href="Ausdruck_(Programmierung)" title="Ausdruck (Programmierung)">Ausdruck</a>, der nur die beiden Wahrheitswerte <a href="Aussagenlogik#Umgangssprachliche_Einleitung" title="Aussagenlogik"><i>True</i> und <i>False</i></a> (englisch für <i>wahr</i> und <i>falsch</i>) annehmen kann. Solche Werte können miteinander <a href="Logischer_Operator" title="Logischer Operator">logisch verknüpft</a> und Variablen eines passenden Typs zugewiesen werden. Sie finden bei <a href="Sprunganweisung" title="Sprunganweisung">Sprunganweisungen</a> Verwendung um den <a href="Kontrollfluss" title="Kontrollfluss">Kontrollfluss</a> zu ändern, in der Regel bei <a href="Bedingte_Anweisung_und_Verzweigung" title="Bedingte Anweisung und Verzweigung">bedingten Anweisungen</a> oder <a href="Schleife_(Programmierung)" title="Schleife (Programmierung)">Schleifen</a>.
</p><p>Viele <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a> stellen dafür einen eigenen Datentyp zur Verfügung, etwa unter der Bezeichnung <i>boolean</i> (<a href="Algol_60" title="Algol 60">Algol&nbsp;60</a>, <a href="Pascal_(Programmiersprache)" title="Pascal (Programmiersprache)">Pascal</a>, <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>, <a href="Lua" title="Lua">Lua</a>, <a href="Ada_(Programmiersprache)" title="Ada (Programmiersprache)">Ada</a>, <a href="Visual_Basic_Classic" title="Visual Basic Classic">Visual Basic Classic</a>, <a href="BASIC" title="BASIC">BASIC</a>) oder <i>bool</i> (<a href="Algol_68" title="Algol 68">Algol&nbsp;68</a>, <a href="C-Sharp" title="C-Sharp">C#</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a>) oder <i>logical</i> (<a href="Fortran" title="Fortran">Fortran</a>). Der Boolean ist ein <a href="Datentyp#Elementare_Datentypen" title="Datentyp">elementarer Datentyp</a>.<sup id="cite_ref-Mathes22_1-1" class="reference"><a href="#cite_note-Mathes22-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Zur Repräsentation eines booleschen Wertes genügt prinzipiell ein einzelnes <a href="Bit" title="Bit">Bit</a>, um die beiden möglichen Zustände zu repräsentieren. Aus technischen Gründen wird jedoch in der Regel eine andere Repräsentation gewählt, meist abhängig von der <a href="Wortbreite" class="mw-redirect" title="Wortbreite">Wortbreite</a> des verwendeten Systems, wobei bei C++ <a href="Tupel_(Informatik)" title="Tupel (Informatik)">Vektoren</a> für diesen Typ optimiert sind.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Wird ein boolescher Wert mit einem Ganzzahltyp dargestellt, steht meist 0 für <i>falsch</i> und alles ungleich Null (häufig wird −1 oder 1 verwendet) für <i>wahr</i>. Anders in der <a href="Linux" title="Linux">Linux</a>- bzw. <a href="Unix-Shell" title="Unix-Shell">Unix-Shell</a>-Programmierung: Hier steht ein Wert größer Null für einen Fehler und im übertragenen Sinne für <i>falsch</i>, während Null für einen erfolgreichen Programmaufruf und so für <i>wahr</i> steht.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li>J. Donald Monk:&nbsp;<a rel="nofollow" class="external text" href="https://plato.stanford.edu/entries/boolalg-math/"><i>The Mathematics of Boolean Algebra.</i></a> In: Edward N. Zalta (Hrsg.): <i><a href="Stanford_Encyclopedia_of_Philosophy" title="Stanford Encyclopedia of Philosophy">Stanford Encyclopedia of Philosophy</a></i>.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-Mathes22-1"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-Mathes22_1-0">a</a></sup> <sup><a href="#cite_ref-Mathes22_1-1">b</a></sup></span> <span class="reference-text">Markus A. Mathes, Jochen Seufert: <cite style="font-style:italic">Programmieren in C++ für Elektrotechniker und Mechatroniker</cite>. Springer Vieweg, Wiesbaden 2022, ISBN 978-3-658-38500-2, Kapitel&nbsp;9.1: Elementare Datentypen&nbsp;– Boolesche Werte, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>45<span style="display:inline-block;width:.2em">&nbsp;</span>f</span>., <a href="Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1007/978-3-658-38501-9">10.1007/978-3-658-38501-9</a></span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abookitem&amp;rfr_id=info:sid/de.wikipedia.org:Boolean&amp;rft.atitle=Kapitel+9.1%3A+Elementare+Datentypen+-+Boolesche+Werte&amp;rft.au=Markus+A.+Mathes%2C+Jochen+Seufert&amp;rft.btitle=Programmieren+in+C%2B%2B+f%C3%BCr+Elektrotechniker+und+Mechatroniker&amp;rft.date=2022&amp;rft.doi=10.1007%2F978-3-658-38501-9&amp;rft.genre=bookitem&amp;rft.isbn=9783658385002&amp;rft.pages=45f&amp;rft.place=Wiesbaden&amp;rft.pub=Springer+Vieweg" style="display:none">&nbsp;</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Richard Kaiser: <cite style="font-style:italic">C++ mit Visual Studio 2022 und Windows Forms-Anwendungen</cite>. Springer Vieweg, Berlin&nbsp;/ Heidelberg 2022, ISBN 978-3-662-65256-5, Kapitel 12: Containerklassen der C++-Standardbibliothek, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>659</span>, <a href="Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1007/978-3-662-65257-2">10.1007/978-3-662-65257-2</a></span>: „Ein Vektor vector&lt;bool&gt; […] unterscheidet sich von Vektoren mit Elementen anderer Datentypen dadurch, dass möglichst viele (also 8) Werte in ein Byte gepackt werden.“<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abookitem&amp;rfr_id=info:sid/de.wikipedia.org:Boolean&amp;rft.atitle=Kapitel+12%3A+Containerklassen+der+C%2B%2B-Standardbibliothek&amp;rft.au=Richard+Kaiser&amp;rft.btitle=C%2B%2B+mit+Visual+Studio+2022+und+Windows+Forms-Anwendungen&amp;rft.date=2022&amp;rft.doi=10.1007%2F978-3-662-65257-2&amp;rft.genre=bookitem&amp;rft.isbn=9783662652565&amp;rft.pages=659&amp;rft.place=Berlin+%2F+Heidelberg&amp;rft.pub=Springer+Vieweg" style="display:none">&nbsp;</span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-12-08" href="https://de.wikipedia.org/wiki/?title=Boolean&amp;oldid=251077743">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>